﻿

Public Class WebForm6
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim cant As Integer

        If Not Page.IsPostBack Then
            FG.culturaPaginas()

            cant = FG.CargaCombo("traerTipoInstitucion", cboTipoInstitucion)
            cant = FG.CargaCombo("traerProvincias", cboProvincia)
            cant = FG.CargaCombo("traerLocalidades_provincia", cboLocalidad, cboProvincia.Text)
        Else
            cboLocalidad.Items.Clear()
            cant = FG.CargaCombo("traerLocalidades_provincia", cboLocalidad, cboProvincia.Text)
        End If

    End Sub

    Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGuardar.Click
        Dim i As Integer = 10 'Numero de campos
        Dim param(i - 1) As ADODB.Parameter
        Dim Resultado As Boolean
        Dim n_cuit As Long

        '0 @localidad varchar(50),
        '1 @provincia varchar(50),
        '2 @direccion varchar(50),
        '3 @numero varchar(10),
        '4 @piso varchar(5),
        '5 @dpto varchar(2),
        '6 @nombre varchar(50),
        '7 @tipoInstitucion varchar(50),
        '8 @codPostal int


        If Not IsNumeric(txtCUIT.Text) Then
            n_cuit = 0
        Else
            n_cuit = CLng(txtCUIT.Text)
        End If

        If Not FG.validaCuit(txtCUIT.Text) Then
            MuestraCartel("CUIT Mal, vuelva a esribir CUIT", lblMensajes)
            Exit Sub
        End If

        SacaCartelDeAViso(lblMensajes)

        'cboLocalidad
        param(0) = New ADODB.Parameter
        param(0).Name = "@localidad"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(0).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(0).Value = cboLocalidad.Text  ' <--el valor que le pasamos a la base
        param(0).Size = 50 'Si el dato es string ,, lleva longitud , los datos numerico no hacen falta ,,
        'cboProvincia
        param(1) = New ADODB.Parameter
        param(1).Name = "@provincia"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(1).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(1).Value = cboProvincia.Text  ' <--el valor que le pasamos a la base
        param(1).Size = 50 'Si el dato es string ,, lleva longitud , los datos numerico no hacen falta ,,
        'txtDomicilio
        param(2) = New ADODB.Parameter
        param(2).Name = "@domicilio"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(2).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(2).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(2).Value = txtDomicilio.Text  ' <--el valor que le pasamos a la base
        param(2).Size = 50 'Si el dato es string ,, lleva longitud , los datos numerico no hacen falta ,,
        'txtNumero
        param(3) = New ADODB.Parameter
        param(3).Name = "@numero"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(3).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(3).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(3).Value = txtNumero.Text  ' <--el valor que le pasamos a la base
        param(3).Size = 10 'Si el dato es string ,, lleva longitud , los datos numerico no hacen falta ,,
        'txtPiso
        param(4) = New ADODB.Parameter
        param(4).Name = "@Piso"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(4).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(4).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(4).Value = txtPiso.Text ' <--el valor que le pasamos a la base
        param(4).Size = 5 'Si el dato es string ,, lleva longitud , los datos numerico no hacen falta ,,
        'txtDpto
        param(5) = New ADODB.Parameter
        param(5).Name = "@dpto"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(5).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(5).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(5).Value = txtDepto.Text  ' <--el valor que le pasamos a la base
        param(5).Size = 2 'Si el dato es string ,, lleva longitud , los datos numerico no hacen falta ,,
        'tytNombreInstitucion
        param(6) = New ADODB.Parameter
        param(6).Name = "@nombre"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(6).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(6).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(6).Value = txtNombreInstitucion.Text ' <--el valor que le pasamos a la base
        param(6).Size = 50 'Si el dato es string ,, lleva longitud , los datos numerico no hacen falta ,,
        'cboTipoInst
        param(7) = New ADODB.Parameter
        param(7).Name = "@tipoInstitucion"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(7).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(7).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(7).Value = cboTipoInstitucion.Text  ' <--el valor que le pasamos a la base
        param(7).Size = 50 'Si el dato es string ,, lleva longitud , los datos numerico no hacen falta ,,    
        'txtCP
        param(8) = New ADODB.Parameter
        param(8).Name = "@codPostal"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(8).Type = ADODB.DataTypeEnum.adInteger '<--tipo de dato 
        param(8).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(8).Value = txtCP.Text   ' <--el valor que le pasamos a la base
        param(8).Size = 50 'Si el dato es string ,, lleva longitud , los datos numerico no hacen falta ,,

        param(9) = New ADODB.Parameter
        param(9).Name = "@cuit"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(9).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(9).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(9).Value = n_cuit ' <--el valor que le pasamos a la base
        param(9).Size = 11 'Si el dato es string ,, lleva longitud , los datos numerico no hacen falta ,,

        ''''''''''LLAMAMOS A LA FUNCION YYY FIJENSE QUE NO LE PASO EL GUION "_a" 
        Resultado = Datos.Agregar("agregarInstitucionMedica", param, "InstitucionMedica.aspx, btnGuardar_click")


        '////////////////////////////////////////////////////////////////////////////////////////////////////////
        '''''importante acordase de en el sp ,, poner el set NOCOUNT off  ( POR DEFECTO ESTA SIEMPRE EN oN) 
        '////////////////////////////////////////////////////////////////////

        ''ACA EVALUAMOS EL RESULTADO!

        If Resultado = True Then
            MuestraCartelDeguardar("Cargo exitoso", lblMensajes)
            limpiarControles()
        Else
            MuestraCartelDeguardar("Fallo", lblMensajes)
        End If

    End Sub
    Function limpiarControles()
        With Me
            txtCP.Text = ""
            txtDepto.Text = ""
            txtDomicilio.Text = ""
            txtNombreInstitucion.Text = ""
            txtNumero.Text = ""
            txtPiso.Text = ""
            cboLocalidad.SelectedIndex = 0
            cboProvincia.SelectedIndex = 0
            cboTipoInstitucion.SelectedIndex = 0
            txtCUIT.Text = ""
            txtNombreInstitucion.Focus()
        End With

        Return True
    End Function

    Protected Sub btnLimpiar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnLimpiar.Click
        limpiarControles()
    End Sub
End Class